b76dc5e872641b2521ae925c749c04688309eb7e,datumbox-framework-core/src/main/java/com/datumbox/framework/core/machinelearning/clustering/GaussianDPMM.java,Cluster,updateClusterParameters,#,249

Before Change



            RealMatrix C = xi_square_sum.subtract( ( mu.outerProduct(mu) ).scalarMultiply(size) );

            OpenMapRealMatrix psi = (OpenMapRealMatrix)psi0.add( C.add( ( mu_mu0.outerProduct(mu_mu0) ).scalarMultiply(kappa0*size/(double)kappa_n) ));
            //C = null;
            //mu_mu0 = null;

            mean = ( mu0.mapMultiply(kappa0) ).add( mu.mapMultiply(size) ).mapDivide(kappa_n);

            synchronized(this) {
                covariance = (OpenMapRealMatrix)psi.scalarMultiply(  (kappa_n+1.0)/(kappa_n*(nu - dimensions + 1.0))  );
                cache_covariance_determinant = null;
                cache_covariance_inverse = null;
            }

After Change



            RealMatrix C = xi_square_sum.subtract( ( mu.outerProduct(mu) ).scalarMultiply(size) );

            RealMatrix psi = psi0.add( C.add( ( mu_mu0.outerProduct(mu_mu0) ).scalarMultiply(kappa0*size/(double)kappa_n) ));//

            mean = ( mu0.mapMultiply(kappa0) ).add( mu.mapMultiply(size) ).mapDivide(kappa_n);

            synchronized(this) {
                covariance = psi.scalarMultiply(  (kappa_n+1.0)/(kappa_n*(nu - dimensions + 1.0))  );
                cache_covariance_determinant = null;
                cache_covariance_inverse = null;
            }